1. Field of the Invention
The present invention relates to a commit controlling scheme for a transaction processing in a system utilizing the check point/roll back scheme such as a high availability system.
2. Description of the Background Art
Conventionally, the check point/roll back scheme is known as a method for re-executing a process that was interrupted due to an occurrence of a fault in a computer. In the check point/roll back scheme, information necessary in re-executing a process is periodically or recurrently stored. A timing for storing this information is called a check point, and an act of storing this information at a check point is called a check point generation. When a fault occurs in a certain process or a computer on which this certain processing is operating, a state of the process is rolled back to a check point before the fault occurrence according to the information stored at the most recent check point, and the process is re-executed from that check point before the fault occurrence.
Also, in general, a processing to be executed by a computer follows a sequence of updating data on a main memory or a secondary memory device according to entered data, and then outputting some kind of result. As a technique for improving the reliability of these data, the transaction processing is known.
The transaction processing has the following four properties which are referred to as ACID.
(1) Atomicity: a property that a transaction which defines a unit of processing is either completely executed (committed) or not executed at all (aborted).
(2) Consistency: a property that an execution of a transaction changes data from one consistent state to another consistent state.
(3) Isolatedness: a property that an intermediate result obtained during an execution of a transaction is not available to any other transaction until the executed transaction is committed.
(4) Durability: a property that data updated by the committed transaction are permanent ones which will not be lost by a fault or the like that occurs afterwards.
By these properties, the transaction processing guarantees the reliability of data.
However, if the check point/roll back scheme is adopted in the conventional transaction processing, it is impossible to guarantee the reliability of data processed by the transaction processing. The reason for this will now be described with reference to FIG. 1.
In FIG. 1, CP(n) denotes the n-th check point (CP), and CP(n+1) denotes the n+1-th check point (CP). In the transaction processing of FIG. 1, a user makes an external input (xe2x80x9cinputxe2x80x9d in FIG. 1) such as a keyboard input once, and in response to this input, a client process sends a request for xe2x80x9cselectxe2x80x9d, xe2x80x9cupdatexe2x80x9d, and xe2x80x9ccommitxe2x80x9d to the transaction processing process. The transaction processing process selects data (xe2x80x9cselectxe2x80x9d in FIG. 1), updates data (xe2x80x9cupdatexe2x80x9d in FIG. 1) and commits the transaction by confirming the updated content of data (xe2x80x9ccommitxe2x80x9d of FIG. 1). When the transaction is committed, the transaction processing process notifies to the client process that the transaction has been committed. Upon receiving this notice, the client process carries out an external output (xe2x80x9coutputxe2x80x9d in FIG. 1) such as a screen display, and notifies to the user that the transaction processing has been committed.
During this transaction processing, check points are periodically or recurrently generated on a server computer on which the transaction processing process. For example, suppose that after the check point CP(n), the transaction processing process executed xe2x80x9cselectxe2x80x9d, xe2x80x9cupdatexe2x80x9d, and xe2x80x9ccommitxe2x80x9d, and sent the transaction processing commit notice to the client process, and the client process carried out the external output for notifying to the user that the transaction processing has been committed, and then a fault occurred. The next check point CP(n+1) has not been generated yet, so that the transaction processing process rolls back to the most recent check point CP(n), that is, to a state before the execution of xe2x80x9cselectxe2x80x9d, xe2x80x9cupdatexe2x80x9d, and xe2x80x9ccommitxe2x80x9d. As a result, the processing done by the transaction is actually all cancelled and invalidated despite the fact that the user has already been notified that the transaction processing has been committed.
Thus when the transaction processing and the check point/roll back scheme are employed simultaneously, there has been a possibility for the committed transaction to be invalidated despite the fact that the user has already been notified that the transaction processing has been committed by way of the external output.
It is therefore an object of the present invention to provide a commit controlling scheme for a transaction processing in a system utilizing the check point/roll back scheme, which is capable of guaranteeing the reliability of data of the transaction processing even when the transaction processing and the check point/roll back scheme are employed simultaneously.
According to one aspect of the present invention there is provided a commit control method for transaction processing executed in a computer system having a fault recovery mechanism for generating check points by recurrently recording process states and for restarting processes by recovering the process states at a check point before a fault occurrence in a case of the fault occurrence, the method comprising the steps of: detecting a generation of a new check point for a transaction processing process that executes the transaction processing, the generation being performed by the fault recovery mechanism after a transaction is committed by the transaction processing process; and controlling an issuance of an external output for notifying to a user that the transaction has been committed, such that the external output is issued after the generation of the new check point is detected by the detecting step.
According to another aspect of the present invention there is provided a computer system for executing transaction processing, comprising: a fault recovery mechanism for generating check points by recurrently recording process states and for restarting processes by recovering the process states at a check point before a fault occurrence in a case of the fault occurrence; and a commit control unit for detecting a generation of a new check point for a transaction processing process that executes the transaction processing, the generation being performed by the fault recovery mechanism after a transaction is committed by the transaction processing process, and for controlling an issuance of an external output for notifying to a user that the transaction has been committed, such that the external output is issued after the generation of the new check point is detected.
According to another aspect of the present invention there is provided a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for executing transaction processing, the computer readable program code means includes: first computer readable program code means for causing said computer to realize a fault recovery mechanism for generating check points by recurrently recording process states and for restarting processes by recovering the process states at a check point before a fault occurrence in a case of the fault occurrence; and second computer readable program code means for causing said computer to realize a commit control unit for detecting a generation of a new check point for a transaction processing process that executes the transaction processing, the generation being performed by the first computer readable program code means after a transaction is committed by the transaction processing process, and for controlling an issuance of an external output for notifying to a user that the transaction has been committed, such that the external output is issued after the generation of the new check point is detected.
Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings.